package com.fast.alden.common.entity.vo;

import com.fast.alden.data.model.SysUser;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
public class SysOnlineUser extends SysUser {
    private Long userId;
    private String token;
    private LocalDateTime loginTime;
    private String ip;

    public static SysOnlineUser load(SysUser user) {
        SysOnlineUser onlineUser = new SysOnlineUser();

        onlineUser.setUserId(user.getId());
        onlineUser.setCreatedTime(user.getCreatedTime());
        onlineUser.setLastModifiedTime(user.getLastModifiedTime());
        onlineUser.setCreatorId(user.getCreatorId());
        onlineUser.setCreatorName(user.getCreatorName());
        onlineUser.setLastModifierId(user.getLastModifierId());
        onlineUser.setLastModifierName(user.getLastModifierName());
        onlineUser.setUsername(user.getUsername());
        onlineUser.setPassword(user.getPassword());
        onlineUser.setNickname(user.getNickname());
        onlineUser.setRealName(user.getRealName());
        onlineUser.setEmail(user.getEmail());
        onlineUser.setPhone(user.getPhone());
        onlineUser.setBirthday(user.getBirthday());
        onlineUser.setIntroduce(user.getIntroduce());
        onlineUser.setAvatar(user.getAvatar());
        onlineUser.setType(user.getType());
        onlineUser.setStatus(user.getStatus());
        onlineUser.setDepartmentId(user.getDepartmentId());
        onlineUser.setDepartmentName(user.getDepartmentName());
        onlineUser.setLastLoginTime(user.getLastLoginTime());
        onlineUser.setLastLoginIp(user.getLastLoginIp());

        return onlineUser;
    }
}
